package com.dz.risk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dz.risk.pojo.QueryParams;
import com.dz.risk.pojo.domain.BasicBondInformationEntity;
import com.dz.risk.pojo.model.CommonPageResult;
import com.dz.risk.pojo.model.PageModel;

import java.util.List;

/**
 * 债卷基础信息业务处理层
 *
 * @author Doke
 * @date 2021/7/13 15:34
 */
public interface BasicBondInformationService extends IService<BasicBondInformationEntity> {

    /**
     * 新增债卷基本信息
     *
     * @param basicBondInformationEntity 债卷基本信息实体
     * @return 新增结果
     */
    int add(BasicBondInformationEntity basicBondInformationEntity);

    /**
     * 根据债卷查重规则查询是否已有规则内重复数据((如果相同债卷类型的债卷代码相同或者开始时间及结束时间存在已有的数据开始结束区间段之间都不允许在录入))
     *
     * @param basicBondInformationEntity 债卷基础信息实体
     * @return 债卷基础信息实体
     */
    List<BasicBondInformationEntity> selectDuplicateByBondCodeOrBeginDateOrEndDateOrId(BasicBondInformationEntity basicBondInformationEntity);

    /**
     * 分页查询债卷基础信息
     *
     * @param pageModel 分页模型
     * @param bondName  债卷名称
     * @param bondCode  债卷代码
     * @param bondType  债卷类型
     * @return 债卷信息
     */
    CommonPageResult pageList(PageModel pageModel, String bondName, String bondCode, Integer bondType);

    List<BasicBondInformationEntity> selectByVersion(Long queryParams, Integer bondType);
}
